#ifndef SEAMWELDFORM_H
#define SEAMWELDFORM_H

#include <QButtonGroup>
#include <QWidget>
#include <QMessageBox>
#include <QStringListModel>
#include "src/DataProvider/SQL/sqlProvider.h"
#include "src/define/QtFcs.h"

namespace Ui {
class SeamWeldForm;
}



class SeamWeldForm : public QWidget
{
    Q_OBJECT

public:
    explicit SeamWeldForm(QWidget *parent = nullptr);
    ~SeamWeldForm();

    void reflush();

private slots:
    void on_pb_save_clicked();

    void on_pb_reflush_clicked();

    void on_cb_seams_currentIndexChanged(const QString &arg1);

    void on_cb_hcad_activated(const QString &arg1);

    void on_cb_hseams_activated(const QString &arg1);

private:
    Ui::SeamWeldForm *ui;
    QButtonGroup *radioGroup;           // Radio的按钮组
    QStringListModel *seam_model ;      // combobox的模型
    QStringListModel *cad_model ;      // combobox的模型
    QStringListModel *hseam_model ;      // 手动combobox的模型

    weldOpt para;   // 焊接参数
    QString oldBaseOffset;
    QString oldToolOffset;
    MOTORDEGRE machine;   // 变位机参数


    bool weldparaNoChanged;
    bool offsetNoChanged;

private:
    void updateSeamWeldInfos(int seam);
    void updateSeamInfos(int seam);
    void updateSeamRelate(int seam);
    void updateWeldParas(int seam);

    /**
     * @brief checkMerge
     * @details 检查有没有发生过变更
     */
    void checkMerge();

    /**
     * @brief pushMerge
     * @details 提交变更
     */
    void pushMerge();
};

#endif // SEAMWELDFORM_H
